
◎ Ｄ.Ｍ.Ａ. 制御及び、キャッシュ制御関数について

void slDMACopy((void *)src , (void *)dst , (Uint32)cnt)
  機能 : ＣＰＵに内蔵された ＤＭＡを使用してブロック転送を行います。
	 ｃｎｔは何バイト分転送するかを指定します。
	 この関数は ＤＭＡを起動後、すぐに終了するため、転送が完了するのを知りたい
	 場合には次の slDMAWait() 関数を使用して下さい。

void slDMAXCopy((void *)src , (void *)dst , (Uint32)cnt (Uint16)mode)
  機能 : ＣＰＵに内蔵された ＤＭＡを使用してブロック転送を行います。
	 引数は上記 slDMACopy と同様ですが、 mode は 以下の様に指定します。
	mode :
	  SourceMode_DestinationMode_Size の形式で、
	  SourceMode :
	    Sinc : 転送元アドレスを増やしながら転送します。
	    Sdec : 転送元アドレスを減らしながら転送します。
	    Sfix : 転送元アドレスを固定して転送します。
	  DestinationMode :
	    Dinc : 転送先アドレスを増やしながら転送します。
	    Ddec : 転送先アドレスを減らしながら転送します。
	    Dfix : 転送先アドレスを固定して転送します。
	  Size :
	    Byte : １バイトごとに転送します。
	    Word : ２バイトごとに転送します。
	    Long : ４バイトごとに転送します。
	アドレスの変更は転送単位が終るごとに実行されるため、減算を指定した場合、
	まず指定先に転送し、アドレスを減らして、次の転送を行いますので、注意して下
	さい。

void slDMAWait()
  機能 : 上記の slDMACopy() , slDMAXCopy() で起動されたＤＭＡの終了を待ちます。
	 slDMACopy() , slDMAXCopy() は 常に同じチャンネルを使用し、もし実行中であ
	 れば、転送終了を待って新しい転送を起動しますので、続けて実行することがで
	 きます。

  例)
    slDMACopy(src0,dst0,cnt0) ;		/* ひとつ目の転送リクエスト */
    slDMACopy(src1,dst1,cnt1) ;		/* ふたつ目の転送リクエスト(ひとつ目終了後 */
					/*   実行される */
    slDMACopy(src2,dst2,cnt2) ;		/* みっつ目の転送リクエスト(同上) */
    slDMAWait() ;			/* みっつ目の転送終了待ち */

BooleanSwitch slDMAStatus()
  機能 : 上記の slDMACopy() , slDMAXCopy() が実行中であるか調べ状態を返します。
	 動作中であれば ＯＮ 、 終了していれば ＯＦＦ を返します。

void slCashPurge()
  機能 : ＣＰＵ内蔵のキャッシュをクリアします。Ｄ.Ｍ.Ａ.転送等によりキャッシュ領域
	 の変更があった場合等に使用します。
	 上記の slDMACopy() 及び、slDMAXCopy() では、転送先がキャッシュ領域であった
	 場合、キャッシュはクリアされます。

